s1_goto_dir() {
	cd "$1" || exit 1
}

s2_touch_empty_file_with_given_name() {
	touch "$1"
}

s3_make_directories() {
	mkdir -p projects/git projects/backup
}

s4_create_6_files() {
touch projects/{linux1_centos,linux1_redhat,linux1_c_programming,linux2_centos,linux2_redhat,linux2_c_programming}
}

s5_make_directories_in_git() {
	mkdir -p projects/git/{linux1,linux2}
}

s6_move_files_to_dir_1_or_2() {
	mv projects/linux1_* projects/git/linux1/
	mv projects/linux2_* projects/git/linux2/
}

s7_create_package_and_compress() {
	tar -czvf projects/backup/git.tar.gz -C projects git
}

s8_delete_dir_git() {
	rm -rf projects/git
}

s9_recover_from_git_tar_gz_backup() {
	tar -zxvf projects/backup/git.tar.gz -C projects
}

s10_create_package_and_compress() {
tar -jcvf projects/backup/git.tar.bz2 -C projects git
}

s11_find_and_sort_alphabetically_all_created_files_and_dirs() {
	find ./projects | sort
}

s12_get_next_15_minutes_boundary() {
	timestamp=$(date +%s)
	next_15=$(( (timestamp + 14*60) / (15*60) * (15*60) ))
	date -d "@$next_15" +"%Y-%m-%d_%H:%M:%S"
}

s1_goto_dir
s2_touch_empty_file_with_given_name "frw"
s3_make_directories
s4_create_6_files
s5_make_directories_in_git
s6_move_files_to_dir_1_or_2
s7_create_package_and_compress
s8_delete_dir_git
s9_recover_from_git_tar_gz_backup
s10_create_package_and_compress
s11_find_and_sort_alphabetically_all_created_files_and_dirs
s12_get_next_15_minutes_boundary
